package com.supercube.sport.yoga.service;

import com.supercube.sport.yoga.bo.MemberBO;
import com.supercube.sport.yoga.domain.MemberBodyInfoDTO;
import com.supercube.sport.yoga.domain.MemberDTO;
import com.supercube.sport.yoga.domain.MemberIntegralRecordDTO;
import com.supercube.sport.yoga.vo.BookingCourseBo;
import com.supercube.sport.yoga.vo.MemberAndCardVo;
import com.supercube.sport.yoga.vo.MemberConsumeRecordVo;
import com.supercube.sport.yoga.vo.MemberVO;

import java.util.List;
import java.util.Map;

public interface MemberService {
    Integer save(MemberDTO memberDTO);

    Integer update(MemberDTO memberDTO);

    Integer deleteMember(String id);
    Integer batchDeleteMember(List<String> ids);

    MemberVO memberInfo(String id);

    List<MemberVO> selectMemberList(MemberBO bo);
    List<MemberVO> selectMember(Map<String, Object> map);

    String queryPhone(String tel);

    List<MemberConsumeRecordVo> getConsumeRecord(String memberId,String cardId);
    List<MemberBodyInfoDTO> getMemberBodyInfo(String memberId);
    List<MemberIntegralRecordDTO> getMemberIntegral(String memberId);
    List<BookingCourseBo> getBookingCourse(String memberId);

    List<MemberBodyInfoDTO> queryMemberBodyInfoForFile(String memberId, String bodyExaminationTime);
    List<MemberAndCardVo> selectMemberAndCard();

    /**
     * 根据场馆ID获取会员列表
     *
     * @param venueId
     * @return
     */
    List<MemberVO> getMemberByVenueId(String venueId);
}
